Welcome to pandas!

3.17 统计每个人的最优科目

import pandas as pd

df=pd.read_excel(r "D:\Pyobject2023\object\测试\素材\测试素材.考试成绩.逻辑统计.xlsx" )

print (df)

s=df.iloc[:, 1 :].apply(

lambda s:s.nlargest( 1 , keep = "all" ).index.to_list(),

axis = 1

)

df[ "最好科目" ]=s

print (df)

返回:

姓名 数学 语文 英语
0 小明 85.5 99 84
1 小张 96.0 100 34
2 小王 93.0 55 76
3 小李 88.5 95 99
4 小四 90.0 90 73
5 小管 100.0 66 65

姓名 数学 语文 英语 最好科目
0 小明 85.5 99 84 [语文]
1 小张 96.0 100 34 [语文]
2 小王 93.0 55 76 [数学]
3 小李 88.5 95 99 [英语]
4 小四 90.0 90 73 [数学,语文]
5 小管 100.0 66 65 [数学]